package com.kuke.kukecommon.exception;

import com.kuke.kukecommon.enums.ResultEnum;

/**
 * 基础错误类，所有自定义错误类请继承此错误类
 */
public class BaseException  extends RuntimeException {
    /**
     * 错误码
     */
    private String code;

    public BaseException(){
        super(ResultEnum.SYSTEM_ERROR.getMsg());
        this.code = ResultEnum.SYSTEM_ERROR.getCode();
    }

    /**
     * 构造器重载，主要是自己考虑某些异常自定义一些返回码
     * @param code
     * @param message
     */
    public BaseException(String code, String message){
        super(message);
        this.code = code;
    }

    /**
     * 构造器重载
     * @param resultEnum
     */
    public BaseException(ResultEnum resultEnum){
        super(resultEnum.getMsg());
        this.code = resultEnum.getCode();
    }

    public BaseException(ResultEnum resultEnum, String message, Throwable cause) {
        super(message, cause);
        this.code = resultEnum.getCode();
    }

    public String getCode() {
        return code;
    }

    public void setCode(String code) {
        this.code = code;
    }


}
